package com.studyweb.service;

import com.studyweb.pojo.entity.Paper;
import com.studyweb.pojo.entity.PaperQuestion;
import com.studyweb.pojo.entity.QuestionDetail; // 添加导入

import java.util.List;
import java.util.Map; // 添加导入

public interface PaperService {
    
    /**
     * 创建试卷
     */
    Paper createPaper(Paper paper);
    
    /**
     * 根据ID查询试卷
     */
    Paper getPaperById(Long id);
    
    /**
     * 查询所有试卷
     */
    List<Paper> getAllPapers();
    
    /**
     * 根据条件查询试卷
     */
    List<Paper> getPapersByCondition(String name);
    
    /**
     * 更新试卷
     */
    Paper updatePaper(Paper paper);
    
    /**
     * 删除试卷
     */
    void deletePaper(Long id);
    
    /**
     * 为试卷添加题目
     */
    void addQuestionsToPaper(Long paperId, List<PaperQuestion> paperQuestions);
    
    /**
     * 获取试卷的所有题目（仅关联信息）
     */
    List<PaperQuestion> getPaperQuestions(Long paperId);
    
    /**
     * 获取试卷的所有题目（包含详细内容）
     */
    Map<String, List<QuestionDetail>> getPaperQuestionsWithDetails(Long paperId);
    
    /**
     * 删除试卷中的所有题目
     */
    void deletePaperQuestions(Long paperId);
    
    /**
     * 从试卷中删除指定的题目
     */
    void removeQuestionFromPaper(Long paperId, Long questionId);
}